package wyw.sell.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import wyw.sell.entity.Final_Warehouse;
import wyw.sell.entity.Result;

import java.util.List;

@Mapper
public interface SellMapper extends BaseMapper<Result> {
    /**
     * 把20年12月的期末数量计算出来
     */
    List<Final_Warehouse> Final2101ToRes();

    /**
     * 将material_code、material_name、number插入result表
     */
    void insertResultBase(List<Result> base);

    /**
     * 计算期初数量
     * 某年某月期初数量=下月期末数量 + 该年月生产领用数量 - 该年月采购入库数量
     */
    /**
     * 查询某年某月的基本计算数据
     */
    @Select("select material_code,year,month,month_input,month_output,nextmonth_calculate from result where year=#{year} and month=#{month}")
    List<Result> selectCalculateList(String year, String month);

    /**
     * 更新某年某月计算后的数据
     */
    void updateCalculate(List<Result> calRes);

    /**
     * 某物料编码在某年月的期末数量即下一月的期初数量
     */
    String selectFinalNumber(String year, String month, String material_code);

    /**
     * 查询S的所有物料编码和数量-领用表
     */
    List<Result> selectOutput(String year, String month);

    /**
     * 查询S的所有物料编码和数量-采购表
     */
    List<Result> selectInput(String year, String month);
}
